#pragma once

#include "pch.h"

#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>

#include <CGAL/Polygon_with_holes_2.h>
#include <CGAL/create_straight_skeleton_from_polygon_with_holes_2.h>
#include <CGAL/Straight_skeleton_2/IO/print.h>

#include <memory>

#include <cassert>

typedef CGAL::Exact_predicates_inexact_constructions_kernel K;

typedef K::Point_2                    Point;
typedef CGAL::Polygon_2<K>            Polygon_2;
typedef CGAL::Polygon_with_holes_2<K> Polygon_with_holes;
typedef CGAL::Straight_skeleton_2<K>  Ss;

typedef std::shared_ptr<Ss> SsPtr;

extern "C" __declspec(dllimport)
void StraightSkeleton_Create(
	double* outorPolygon2DArray, size_t OutorPointsCount,
	double* holePolygon2DArray, size_t holePointsCount,
	double*& StraightSkeletonLineArray, int*& skeletonLineCount
);

